STM32 电机控制 SDK MCFW-6.4.1
用于构建驱动 STM32 的 PMSM 电机应用的软件开发套件
速度调节器PI增益的先验测定

上文:先验确定磁通和扭矩电流PI增益 ↤|目录 |↦ 下一页:空间矢量 PWM 实现

本节为计算速度调节器PI参数(K_iK_p)初始值提供了计算标准。该准则也被ST MC Workbench在其计算中使用。KiKp

计算这些起始值时,需要了解电机的一些特性(惯性J、摩擦F和B-EMF常数K_e)以及硬件的电气特性(并联电阻R_{Shunt}和电流感测放大网络增益A_{op})。JFKeRSAOP

下图展示了用于速度调节的PI控制器框图。

PI控制器的方块图

速度PID控制器的输出会传递到电流PID控制器,因此速度PID控制器的输出应为电流。此外,速度PI控制器只需设置在智商上,因为ID被认为对速度等级没有影响(不包括流速减弱)。

在此分析中,由于两者工作速度差异较大,忽略了电流控制环路。换句话说,对于速度 PI 控制器的增益估计,输出电流 = 目标电流OutputCrrrent=TARgETCrrrent

下图展示了闭环系统,其中电机采用惯性-摩擦等效模型。

块“A”是存储当前指令的软件变量(用s16A表示)与施加在电机上的实际扭矩(用牛米表示)之间的比例常数。同样,块“B”是真实机械速度(以rad/s表示)与存储机械速度的软件变量(以01Hz表示)之间的比例常数。

闭环方框图

两个块的传递函数:

  • 我们称K_\tau为从A到N.m的转换因子: K_{\tau}=1.5\sqrt{\frac{2}{3}} \frac{60}{1000 \cdot 2\pi}K_{e} Kτ
    Kτ=1.523601000²πKe
  • kA到s16A的转换因子 : k=\frac{R_{Shunt} \cdot A_{op} \cdot 2^{16}}{3.3} k
    k=RSAOP2163.3
  • 因此 : A = \frac{K_\tau}{k}
    A=Kτk
  • 最后,B 是将 rad/s 转换为 01Hz 的因子 : B = \frac{10}{2\pi}
    B=102π

我们选择插入 K_p=J \cdot \omega_bK_i = F \cdot \omega_b。这样,就完成了极零点抵消,开环系统成为带宽为 \omega_b 的稳定纯积分器。Kp=JωbKi=Fωbωb

极点零点抵消

在此条件下,闭环系统被带回一阶系统,系统动力学可以用适当值\omega_b来分配。在MCSDK中,我们固定\tau=\frac{J}{F},\omega_b = \frac{0.5 \乘以30}{\tau}ωbτ=JFωb=0.5×30τ

注:所用的 \omega_b 基于一个参考电机,其中 \tau_{ref} = 0.5s\omega_{b_{ref}} = 30 rad/sωbτREf=0.5ωbREf=30rad/s

闭环系统可通过以下方式恢复:

极点零点消去后闭环系统的框图

然而,PI算法在计算积分分量时并未包含PI采样时间(T)。参考以下公式:T

kit0e(τ)dτ=kiTk=1nEkT)=Kik=1nEkT)

由于控制器的整数部分是连续误差的总和,因此必须将T纳入K_i的计算中。TKi

最终公式可以表示为:

Kp=JωbAB

Ki=FωbABT

使用

1AB=2π10×RSAOP2163.3×321000²π60Ke

PI算法中使用的参数必须是整数;因此,计算出的K_iK_p值必须用分数(分红/除子)表示。KiKp

K_{p} = \frac{K_{pg}}{K_{pd}} K_{i} = \frac{K_{ig}}{K_{id}}

Kp=KpgKpd
Ki=KigKid

注:除子总是设置为二的幂,以便运行时进行计算。

上文:先验确定磁通和扭矩电流PI增益 ↤|目录 |↦ 下一页:空间矢量 PWM 实现